package com.chuangjiangx.member.stored.ddd.dal.mapper;


import com.chuangjiangx.member.stored.dao.model.InMbrOrder;
import com.chuangjiangx.member.stored.ddd.dal.condition.MbrOrderDetailCondition;
import com.chuangjiangx.member.stored.ddd.dal.condition.MbrRefundDetailstCondition;
import com.chuangjiangx.member.stored.ddd.dal.dto.MbrOrderRechargeResult;
import com.chuangjiangx.member.stored.ddd.dal.dto.MbrOrderDetail;
import com.chuangjiangx.member.stored.ddd.dal.condition.MbrOrderListCondition;

import com.chuangjiangx.member.stored.ddd.dal.dto.MbrRefundDetail;
import com.chuangjiangx.member.stored.ddd.dal.dto.MbrOrderList;

import java.util.List;

public interface MbrOrderDalMapper {

    /**
     * 统计订单数量
     */
    Integer countMbrOrder(MbrOrderListCondition condition);

    /**
     * APP获取会员消费机滤列表
     * @param condition
     * @return
     */
    List<InMbrOrder> appMbrOrderList(MbrOrderListCondition condition);

    /**
     * WEB获取会员消费机滤列表
     * @param condition
     * @return
     */
    List<MbrOrderList> webMbrOrderList(MbrOrderListCondition condition);

    /**
     * 获取订单详情
     *
     *
     * @param mbrOrderDetailCondition
     * @return
     */
    MbrOrderDetail getMbrOrderDetail(MbrOrderDetailCondition mbrOrderDetailCondition);

    /**
     * 获取退款订单集合
     * @param orderId
     * @return
     */
    List<MbrRefundDetail> getMbrOrderRefundInfos(Long orderId);

    /**
     * 获取AI客显退款订单集合
     * @param mbrRefundDetailstCondition
     * @return
     */
    List<MbrRefundDetail> getCashierMbrOrderRefundInfos(MbrRefundDetailstCondition mbrRefundDetailstCondition);


    Integer getMemberOrderPayScore(String orderPayNumber);


    MbrOrderRechargeResult queryRechargeResult(Long id);

}
